textview: Fix rendering of embedded images
authorBenjamin Otte <otte@redhat.com>
Sun, 15 Aug 2010 20:50:22 +0000 (22:50 +0200)
committerBenjamin Otte <otte@redhat.com>
Mon, 16 Aug 2010 17:48:45 +0000 (19:48 +0200)
gtk/gtktextdisplay.c

index 51e8adcb82e44f64e95f17982bfb05683d9b9b67..5f79ce4ce21a4bea95ef8a98038315c4c7df9585 100644 (file)
@@ -405,25 +405,14 @@ gtk_text_renderer_draw_shape (PangoRenderer   *renderer,
   else if (GDK_IS_PIXBUF (attr->data))
     {
       cairo_t *cr = text_renderer->cr;
-      gint width, height;
-      GdkRectangle pixbuf_rect, draw_rect;
-      GdkPixbuf *pixbuf;
-      
-      pixbuf = GDK_PIXBUF (attr->data);
-      
-      width = gdk_pixbuf_get_width (pixbuf);
-      height = gdk_pixbuf_get_height (pixbuf);
-      
-      pixbuf_rect.x = PANGO_PIXELS (x);
-      pixbuf_rect.y = PANGO_PIXELS (y) - height;
-      pixbuf_rect.width = width;
-      pixbuf_rect.height = height;
+      GdkPixbuf *pixbuf = GDK_PIXBUF (attr->data);
       
       cairo_save (cr);
 
-      gdk_cairo_set_source_pixbuf (cr, pixbuf, pixbuf_rect.x, pixbuf_rect.y);
-      gdk_cairo_rectangle (cr, &draw_rect);
-      cairo_fill (cr);
+      gdk_cairo_set_source_pixbuf (cr, pixbuf,
+                                   PANGO_PIXELS (x),
+                                   PANGO_PIXELS (y) -  gdk_pixbuf_get_height (pixbuf));
+      cairo_paint (cr);
 
       cairo_restore (cr);
     }